import request from './request'

/**
 * 获取用户列表
 * @param {Object} params 查询参数
 * @param {number} params.page 页码
 * @param {number} params.pageSize 每页条数
 * @param {string} params.name 用户名搜索
 * @param {string} params.phone 手机号搜索
 * @param {number} params.deptId 部门ID
 * @param {number} params.status 状态
 * @returns {Promise} 返回用户列表
 */
export const getUserList = (params) => {
  return request({
    url: '/users',
    method: 'GET',
    params
  })
}

/**
 * 获取所有用户
 * @returns {Promise} 返回所有用户列表
 */
export const getAllUsers = () => {
  return request({
    url: '/users/list',
    method: 'GET'
  })
}

/**
 * 根据角色查询用户
 * @param {string} roleLabel 角色标识
 * @returns {Promise} 返回用户列表
 */
export const getUsersByRole = (roleLabel) => {
  return request({
    url: `/users/role/${roleLabel}`,
    method: 'GET'
  })
}

/**
 * 根据部门查询用户
 * @param {number} deptId 部门ID
 * @returns {Promise} 返回用户列表
 */
export const getUsersByDept = (deptId) => {
  return request({
    url: `/users/dept/${deptId}`,
    method: 'GET'
  })
}

/**
 * 根据ID查询用户
 * @param {number} id 用户ID
 * @returns {Promise} 返回用户信息
 */
export const getUserById = (id) => {
  return request({
    url: `/users/${id}`,
    method: 'GET'
  })
}

/**
 * 添加用户
 * @param {Object} data 用户信息
 * @returns {Promise} 返回添加结果
 */
export const addUser = (data) => {
  return request({
    url: '/users',
    method: 'POST',
    data
  })
}

/**
 * 修改用户
 * @param {Object} data 用户信息
 * @returns {Promise} 返回修改结果
 */
export const updateUser = (data) => {
  return request({
    url: '/users',
    method: 'PUT',
    data
  })
}

/**
 * 删除用户
 * @param {string} ids 用户ID，多个用逗号分隔
 * @returns {Promise} 返回删除结果
 */
export const deleteUser = (ids) => {
  return request({
    url: `/users/${ids}`,
    method: 'DELETE'
  })
}